/**
 ******************************************************************************
 * @file           : debug.h
 * @brief          : Header for debug.c file.
 ******************************************************************************
 * @attention 开发调试的过程中，保留打印输出。一旦项目上线，关闭所有的串口输出
 ******************************************************************************
 */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __DEBUG_H
#define __DEBUG_H
/* Private includes ----------------------------------------------------------*/
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
#define DEBUG_ENABLE

#ifdef DEBUG_ENABLE

/*打印文件的完整路径*/
//#define LOG_DEBUG(format, ...) printf("[%s:%d]" format "\r\n", __FILE__, __LINE__, ##__VA_ARGS__)

/*只打印源文件名，不要完整路径*/
/*同时处理 / (Unix) 和 \\ (Windows) 路径分隔符*/
#define FILE__NAME (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\')+1 : __FILE__)
#define __FILE__NAME__ (strrchr(FILE__NAME, '/') ? strrchr(FILE__NAME, '/')+1 : __FILE__)
#define LOG_DEBUG(format, ...) printf("[%s:%d]" format "\r\n", __FILE__NAME__, __LINE__, ##__VA_ARGS__)

#else
/*空的宏定义，为了编译通过*/
#define LOG_DEBUG(format, ...)

#endif /* DEBUG_ENABLE */

/* Exported functions prototypes ---------------------------------------------*/
/* Private defines -----------------------------------------------------------*/
#endif /* __DEBUG_H */
